const net = require('net');

// 创建一个 TCP 服务器
const server = net.createServer((socket) => {
    console.log('客户端已连接');

    // 处理客户端发送的数据
    socket.on('data', (data) => {
        console.log('收到数据：', data.toString());

        // 解析请求
        const request = data.toString();
        const requestLines = request.split('\r\n');
        
        // 只处理 GET 请求
        if (requestLines[0].startsWith('GET')) {
            // 发送 HTTP 响应
            const response = `HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<h1>Hello, World!</h1>`;
            socket.write(response);
        } else {
            // 其他请求返回 405 Method Not Allowed
            const response = `HTTP/1.1 405 Method Not Allowed\r\n\r\n`;
            socket.write(response);
        }

        // 关闭 socket 连接
        socket.end();
    });
    
    // 处理连接关闭
    socket.on('end', () => {
        console.log('客户端已断开');
    });
});

// 监听端口
const PORT = 8080;
server.listen(PORT, () => {
    console.log(`服务器正在运行，监听端口 ${PORT}`);
});
